package modelo.dao.jdbc;

import interfaces.UserDAO;

//import java.sql.Connection;
//import java.sql.PreparedStatement;
//import java.sql.ResultSet;
//import java.sql.SQLException;

//import com.mysql.jdbc.Statement;

import modelo.bean.Usuario;
import modelo.dao.DAO;

public class JDBCUserDAO extends DAO implements UserDAO {

	@Override
	public Usuario consultaUsuario(Usuario us) {
//		Connection conn = null;
//		PreparedStatement pstmt = null;
//		ResultSet rs = null;
//		
//		try {
//			conn = getConnection(false);
//			pstmt = conn.prepareStatement(
//					"SELECT id_usuario, estado, cidade, endereco, complemento, estadocivil, statusfumante,nome,sobrenome," +
//					"sexo, login, senha, email, cpf, datanascimento from usuario where login=?;", 
//					Statement.RETURN_GENERATED_KEYS);
//			pstmt.setString(1, us.getLogin());		
//			
//			rs = pstmt.executeQuery();
//			if (rs.next()) {
//				us.setId_usuario(rs.getLong("id_usuario"));
//				us.setEstado(rs.getString("estado"));
//			}
//			
//			conn.commit();
//
//		} catch (SQLException ex) {
//			try {
//				conn.rollback();
//			} catch (Exception e) {
//				throw new Exception(e);
//			}
//
//		} finally {
//			try {
//				if (rs != null) {
//					rs.close();
//				}
//
//				if (pstmt != null) {
//					pstmt.close();
//				}
//
//				if (conn != null) {
//					conn.close();
//				}
//			} catch (Exception e) {
//				throw new Exception(e);
//			}
//		}
		return us;
	}

	@Override
	public boolean insert(Usuario us) {
//		Connection conn = null;
//		PreparedStatement pstmt = null;
//		ResultSet rs = null;
//		try {
//			conn = getConnection(false);
//			pstmt = conn
//					.prepareStatement(
//							"INSERT INTO USUARIO (estado, cidade, endereco, complemento, estadocivil, statusfumante, nome, " +
//							"sobrenome, sexo, login, senha, email, cpf, datanascimento) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
//							Statement.RETURN_GENERATED_KEYS);
//			pstmt.setString(1, us.getEstado());
//			pstmt.setString(2, us.getCidade());
//			pstmt.setString(3, us.getEndereco());
//			pstmt.setString(4, us.getComplemento());
//			pstmt.setInt(5, us.getEstadoCivil());
//			pstmt.setInt(6, us.getStatusFumante());
//			pstmt.setString(7, us.getNome());
//			pstmt.setString(8, us.getSobrenome());
//			pstmt.setString(9, String.valueOf(us.getSexo()));
//			pstmt.setString(10, us.getLogin());
//			pstmt.setString(11, us.getSenha());
//			pstmt.setString(12, us.getEmail());
//			pstmt.setString(13, us.getCpf());
//			pstmt.setDate(14, us.getDataNascimento());
//			
//			pstmt.executeUpdate();
//			
//			
//			rs = pstmt.getGeneratedKeys();
//
//			conn.commit();
//
//		} catch (SQLException ex) {
//			System.out.println("Catch");
//			try {
//				conn.rollback();
//			} catch (Exception e) {
//				throw new Exception(e);
//			}
//
//		} finally {
//			try {
//				if (rs != null) {
//					rs.close();
//				}
//
//				if (pstmt != null) {
//					pstmt.close();
//				}
//
//				if (conn != null) {
//					conn.close();
//				}
//			} catch (Exception e) {
//				throw new Exception(e);
//			}
//		}
		return false;
	}

	@Override
	public boolean update(Usuario us) {
		// TODO Auto-generated method stub
		return false;

	}

	@Override
	public boolean delete(Usuario us) {
		// TODO Auto-generated method stub
		return false;

	}

	@Override
	public Usuario consultaUsuarioLogin(Usuario us) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public boolean verificaExistenciaEmail(String email) {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public boolean verificaExistenciaCPF(String cpf) {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public boolean verificaExistenciaLogin(String login) {
		// TODO Auto-generated method stub
		return false;
	}

}
